package com.cqc.jdk8.Jutil.logging;

import org.junit.Test;

import java.io.IOException;
import java.util.logging.*;

public class LoggerTest {

    Logger logger = Logger.getLogger("LoggerTest");

    @Test
    public void f1() {
        // 级别依次升高，后面的日志级别会屏蔽之前的级别
        logger.finest("finest");
        logger.finer("finer");
        logger.fine("fine");
        logger.config("config");
        logger.info("info");
        logger.warning("warning");
        logger.severe("server");
    }

    @Test
    public void f2() throws IOException {
       /*
        将日志输出到具体的磁盘文件中
        这样做相当于是做了日志的持久化操作
     */
        Logger logger = Logger.getLogger(LoggerTest.class.getCanonicalName());
        logger.setUseParentHandlers(false);

        //文件日志处理器，输出到指定目录下
        FileHandler handler = new FileHandler("C:\\Users\\cui\\Desktop\\jtl.log");
        handler.setLevel(Level.ALL); // 文件中的日志级别为ALL
        SimpleFormatter formatter = new SimpleFormatter();
        handler.setFormatter(formatter);
        logger.addHandler(handler);

        //也可以同时在控制台和文件中进行打印
        ConsoleHandler handler2 = new ConsoleHandler();
        handler2.setLevel(Level.CONFIG); // 控制台的日志级别为CONFIG
        handler2.setFormatter(formatter);
        logger.addHandler(handler2); //可以在记录器中同时添加多个处理器

        logger.setLevel(Level.ALL);

        logger.severe("severe信息");
        logger.warning("warning信息");
        logger.info("info信息");
        logger.config("config信息");
        logger.fine("fine信息");
        logger.finer("finer信息");
        logger.finest("finest信息");
    }
}
